<?php

/**
 * View-хелпер, который выводит дату в удобочитаемом формате
 */
class Wlib_View_Helper_DateHumanRedable extends Zend_View_Helper_Abstract
{

    /**
     * Выводит дату
     *
     * @example
     * $this->dateHumanRedable('2010-06-23 16:49:07');
     * $this->dateHumanRedable('2010-06-23');
     *
     * Первым параметром может быть строка, число, массив или объект Zend_Date.
     * Подробнее о этих параметрах - в мануале ZF в разделе Zend_Date
     *
     * В случае, если первым параметром передано некорректное значение, возвращает пустую строку
     *
     *
     * @param  string|integer|Zend_Date|array  $date   see Zend_Date constructor
     * @param  string                          $part   see Zend_Date constructor
     * @param  string|Zend_Locale              $locale see Zend_Date constructor
     * @return string
     */
    public function dateHumanRedable($date, $part = null, $locale = null, $format = Zend_Date::DATE_LONG)
    {
        try {
            $dateObj = new Zend_Date($date, $part, $locale);
            $dateString = $dateObj->get($format);
        } catch (Zend_Date_Exception $e) {
            $dateString = '';
        }

        return $dateString;
    }
}